Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

3.4K
Vistas
"No se puede acceder al archivo jar" al intentar ejecutar un jar con docker

Error: Unable to access jarfile jar-runner.jar cuando intento ejecutar mi jar.

archivo acoplable:

 FROM anapsix/alpine-java MAINTAINER bramhaag CMD ["java", "-jar", "jar-runner.jar", "some param", "some param"]

El archivo jar se encuentra en /home/selfbot/ y lo estoy ejecutando con Portainer. Así es como se ve mi contenedor Portainer:portaherramientas[1]

¿Cómo haría que esto funcione?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Con el formato CMD [ ] "exec", Docker intentará ver los argumentos y dar su opinión sobre su utilidad. "No se puede acceder al archivo jar" es un mensaje de Docker y solo significa que Docker tiene algunos problemas (no especificados) con un archivo jar. Lo encontré cuando el nombre del archivo jar contenía una variable ENV , por ejemplo. Docker no pudo manejar eso, aparentemente.

También existe el formato "shell" de CMD , CMD java -jar jar-runner.jar "some param" "some param" . Esto se conoce como el formato de shell porque Docker entrega los argumentos a /bin/sh -c . Como resultado, no está tratando de adivinar lo que significan los argumentos. sh a su vez tampoco trata de ser inteligente. Y java es completamente capaz de usar jar-runner.jar .

Eso sí, si tiene un error tipográfico en jar-runner.jar , o si lo colocó en la ubicación incorrecta, entonces el mensaje de Docker podría ser correcto. La solución de shell es útil cuando Docker adivina mal.

over 4 years ago · Santiago Trujillo Denunciar

0

Parece que tiene el volumen montado, por lo que suponiendo que tenga razón en que el archivo jar está disponible en el contenedor a través de ese volumen, probablemente solo necesite especificar la ruta para que Java pueda encontrarlo.

 CMD ["java", "-jar", "/home/selfbot/jar-runner.jar", "some param", "some param"]

Puede verificar si el archivo está realmente disponible ejecutando un comando diferente para mostrarle el contenido de un directorio determinado. Cambie el comando (en Portainer) a algo como

 ls -la /home/selfbot

Y luego puede verificar si el archivo jar está realmente donde lo cree, si es legible, etc. Este comando se cerrará de inmediato, pero su salida estará disponible en el registro del contenedor.

over 4 years ago · Santiago Trujillo Denunciar

0

Tratar
ENTRYPOINT ["java","-jar","jar-runner.jar"] CMD ["some param"]

Tuve un problema similar aquí en mi publicación: Error: no se puede acceder al archivo jar cuando se ejecuta el contenedor docker

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda